package com.ss.SmartStock.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author author
 * @since 2024-06-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("product")
@ApiModel(value="Product对象", description="")
public class Product implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "product_id", type = IdType.AUTO)
    private Long productId;

    private String productPicture;

    private String productType;

    private String productCategory;

    private Long productDetailsId;

    private Long productSupplier;

    private Integer productOwnerState;

    private Integer productCheckState;

    private Integer productOnlineState;

    private Long productPrice;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime=LocalDateTime.now();

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private Long operator;

    private String remark;

    public Product(Long productId, String productPicture, String productType, String productCategory, Long productDetailsId, Long productSupplier, Integer productOwnerState, Integer productCheckState, Integer productOnlineState, Long productPrice, LocalDateTime createTime, LocalDateTime updateTime, Long operator, String remark) {
        this.productId = productId;
        this.productPicture = productPicture;
        this.productType = productType;
        this.productCategory = productCategory;
        this.productDetailsId = productDetailsId;
        this.productSupplier = productSupplier;
        this.productOwnerState = productOwnerState;
        this.productCheckState = productCheckState;
        this.productOnlineState = productOnlineState;
        this.productPrice = productPrice;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.operator = operator;
        this.remark = remark;
    }

    public Product() {
    }
}
